home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / unixSyscall / compatSig.h < prev    next >
C/C++ Source or Header  |  1992-04-10  |  4KB  |  117 lines

  1. /*
  2.  * compatSig.h --
  3.  *
  4.  *    Declarations of mapping tables between Sprite and UNIX signals.
  5.  *    This used to be compatSig.c but now it shared between kernel and
  6.  *    user compatibility libraries.
  7.  *
  8.  * Copyright 1986, 1988 Regents of the University of California
  9.  * Permission to use, copy, modify, and distribute this
  10.  * software and its documentation for any purpose and without
  11.  * fee is hereby granted, provided that the above copyright
  12.  * notice appear in all copies.  The University of California
  13.  * makes no representations about the suitability of this
  14.  * software for any purpose.  It is provided "as is" without
  15.  * express or implied warranty.
  16.  *
  17.  * $Header: /sprite/src/lib/c/unixSyscall/RCS/compatSig.h,v 1.4 92/04/10 14:46:54 kupfer Exp $ SPRITE (Berkeley)
  18.  */
  19.  
  20. #ifndef _COMPATSIG
  21. #define _COMPATSIG
  22.  
  23. #include <sprite.h>
  24.  
  25. /*
  26.  * Define the mapping between Unix and Sprite signals. There are two arrays,
  27.  * one to go from Unix to Sprite and one to go from Sprite to Unix.
  28.  *
  29.  * Note that the signals SIGIOT and SIGEMT that people don't usually
  30.  * send from the keyboard and that tend not to be delivered by the
  31.  * kernel but, rather, are used for IPC have been mapped to user-defined
  32.  * signal numbers, rather than a standard Sprite signal. This allows more
  33.  * of a one-to-one mapping.
  34.  */
  35.  
  36. /*
  37.  * Map Unix signals to Sprite signals.
  38.  */
  39. int compat_UnixSigToSprite[] = {
  40.             NULL,
  41.      /* SIGHUP */    SIG_INTERRUPT,
  42.      /* SIGINT */    SIG_INTERRUPT,
  43.      /* SIGDEBUG */    SIG_DEBUG,    
  44.      /* SIGILL */    SIG_ILL_INST,
  45.      /* SIGTRAP */    SIG_DEBUG,
  46.      /* SIGIOT */    SIG_IOT,
  47.      /* SIGEMT */    SIG_EMT,
  48.      /* SIGFPE */    SIG_ARITH_FAULT,
  49.      /* SIGKILL */    SIG_KILL,
  50.      /* SIGMIG */    SIG_MIGRATE_TRAP,
  51.      /* SIGSEGV */    SIG_ADDR_FAULT,
  52.      /* SIGSYS */    NULL,
  53.      /* SIGPIPE */    SIG_PIPE,
  54.      /* SIGALRM */    SIG_TIMER,
  55.      /* SIGTERM */    SIG_TERM,
  56.      /* SIGURG */    SIG_URGENT,
  57.      /* SIGSTOP */    SIG_SUSPEND,
  58.      /* SIGTSTP */    SIG_TTY_SUSPEND,
  59.      /* SIGCONT */    SIG_RESUME,
  60.      /* SIGCHLD */    SIG_CHILD,
  61.      /* SIGTTIN */    SIG_TTY_INPUT,
  62.      /* SIGTTOU */    SIG_TTY_OUTPUT,
  63.      /* SIGIO */    SIG_IO_READY,
  64.      /* SIGXCPU */    NULL,
  65.      /* SIGXFSZ */    NULL,
  66.      /* SIGVTALRM */    NULL,
  67.      /* SIGPROF */    NULL,
  68.      /* SIGWINCH */    SIG_WINDOW_CHANGE,
  69.      /* SIGMIGHOME */    SIG_MIGRATE_HOME,
  70.      /* SIGUSR1 */    SIG_USER1,    /* user-defined signal 1 */
  71.      /* SIGUSR2 */    SIG_USER2,    /* user-defined signal 1 */
  72.      /* NULL */        32,    /* not a signal, but NSIG is 32 so we need
  73.                          an entry here. */
  74. };
  75.  
  76. /*
  77.  * Map Sprite signals to Unix signals.
  78.  */
  79. static int spriteToUnix[] = {
  80.                 NULL,
  81.     /* SIG_DEBUG */        SIGDEBUG,
  82.     /* SIG_ARITH_FAULT */    SIGFPE,
  83.     /* SIG_ILL_INST */        SIGILL,
  84.     /* SIG_ADDR_FAULT */    SIGSEGV,
  85.     /* SIG_KILL */        SIGKILL,
  86.     /* SIG_INTERRUPT */        SIGINT,
  87.     /* SIG_BREAKPOINT */    SIGILL,
  88.     /* SIG_TRACE_TRAP */    SIGILL,
  89.     /* SIG_MIGRATE_TRAP */    SIGMIG,
  90.     /* SIG_MIGRATE_HOME */    SIGMIGHOME,
  91.     /* SIG_SUSPEND */        SIGSTOP,
  92.     /* SIG_RESUME */        SIGCONT,
  93.     /* SIG_TTY_INPUT */        SIGTTIN,
  94.     /* SIG_PIPE */        SIGPIPE,
  95.     /* SIG_TIMER */        SIGALRM,
  96.     /* SIG_URGENT */        SIGURG,
  97.     /* SIG_CHILD */        SIGCHLD,
  98.     /* SIG_TERM */        SIGTERM,
  99.     /* SIG_TTY_SUSPEND */    SIGTSTP,
  100.     /* SIG_TTY_OUTPUT */    SIGTTOU,
  101.     /* 21 */            NULL,
  102.     /* 22 */            NULL,
  103.     /* 23 */            NULL,
  104.     /* 24 */            NULL,
  105.     /* 25 */             NULL,
  106.     /* SIG_IO_READY */        SIGIO,
  107.     /* SIG_WINDOW_CHANGE */    SIGWINCH,
  108.     /* SIG_IOT */        SIGIOT,
  109.     /* SIG_EMT */        SIGEMT,
  110.     /* SIG_USER1 */        SIGUSR1,
  111.     /* SIG_USER2 */        SIGUSR2,
  112.     /* 32 */            NULL,
  113. };
  114.  
  115.  
  116. #endif
  117.